package cn.twh.wall.controller;

import cn.twh.wall.service.JsonWallService;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * JSON接入挡板处理业务逻辑
 *
 * @author TWH
 */
@RestController
public class TailgateController {

    @Autowired
    private JsonWallService wallService;

    /**
     * 固定路径的挡板访问入口，非固定路径的，请通过配置指定映射关系。
     * 通过API_ID和请求报文控制挡板响应报文
     *
     * @param request 请求报文
     * @param headers http请求头
     * @param api     请求的api
     * @return 响应报文
     */
    @RequestMapping(value = "/tailgate", method = {RequestMethod.GET, RequestMethod.POST})
    public String wallEnter(@RequestBody String request, @RequestHeader Map<String, String> headers,
                            @RequestParam("api") String api) {
        JSONObject reqJson = JSONObject.parseObject(request);
        return wallService.dpHandler(reqJson, headers, api);
    }
}
